<?php 
class TagModel extends Model{
	//定义数据
	public $table = 'tag';
	
	/**
	 * 添加数据
	 */
	public function add_data(){
		//获得标签控制器里传过来的数据，赋值
		$tagName = Q('post.tagname');
		//正则匹配空格换行
		$preg = "/[\r\n]+/";
		//分割数组，组合成字符串
		$arr = preg_split($preg, $tagName);
		//循环依次添加
		foreach ($arr as $v) {
			//如果没有数据，结束单次循环
			if(empty($v)) continue;
			$this->add(array('tagname'=>$v));
		}
		
	}
	
	/**
	 * 获得所有数据
	 * @param $where where条件
	 * @param $needPage 如果需要分页处理就传递TRUE
	 */
	public function get_all_data($where=NULL,$needPage=FALSE){
		//如果使用分页
		if($needPage){
			//分页类用法*************************
			//1.总条数
			$total = $this->where($where)->count();
			//2.每页取得多少条
			//3.显示页码的数量
			$pageObj = new Page($total,2,3);
			//显示分页
			$page = $pageObj->show();
			//分页类算出来的limit
			$limit = $pageObj->limit();
			//在使用分页类的时候一定要注意limit
			$data = $this->where($where)->limit($limit)->all();
			$data['page'] = $page;
		}else{
			$data = $this->where($where)->all();
		}
		
		return $data;
	}
	/**
	* 获得一条数据
	*/
	public function get_one_data($where=NULL,$field=NULL){
		//得到分类控制器里的参数，获得需要的数据，返出数据。
		return $this->where($where)->field($field)->find();
	}

	/**
 	* 修改
 	*/
	public function update_data($where=NULL){
		//获得标签控制器里修改方法传过来的参数，修改标签，返出数据给标签控制器
		return $this->where($where)->save();
		//获得最后一条SQL
		//		p($this->getLastSql());die;
	}

	/**
	 * 删除
	 */
	public function del_data($tid){
		//提示删除错误
		$this->error = '删除错误';
		//获得标签控制器里删除方法传过来的参数，删除标签，返出数据给标签控制器
		return $this->where(array('tid'=>$tid))->delete();
	}
	
}










